package pres.moling.common.auth;

import pres.moling.common.auth.model.AuthToken;
import pres.moling.common.auth.model.BaseUser;

import java.time.LocalDateTime;

/**
 * 认证工具类
 */
public interface AuthHelper {

    /**
     * 创建token
     *
     * @param user      登录的用户
     * @param deviceNum 设备号
     * @param appType   应用类型
     */
    static AuthToken createToken(BaseUser user, String deviceNum, String appType) {
        return new AuthToken()
                .setUser(user)
                .setAppType(appType)
                .setDeviceNum(deviceNum)
                .setBeginTime(LocalDateTime.now());

    }

    /**
     * 获取token对应的用户信息
     */
    static BaseUser getUserByToken(String token) {
        return null;
    }

    /**
     * 刷新token
     */
    static AuthToken flushedToken(AuthToken token) {
        return null;
    }

    /**
     * token过期
     */
    static void overdue(AuthToken token) {}


}
